package com.woniuxy;

public class MybatisPlusAutoCode {
    public static void main(String[] args) {
//        //构建代码自动生成器对象
//        AutoGenerator autoGenerator = new AutoGenerator();
//        //配置自动生成策略
//
//        // 1、全局配置：
//        //https://baomidou.com/config/generator-config.html#%E5%85%A8%E5%B1%80%E7%AD%96%E7%95%A5-globalconfig-%E9%85%8D%E7%BD%AE
//        GlobalConfig globalConfig = new GlobalConfig();
//
//        String projectPath = System.getProperty("user.dir");   //获取当前项目所在目录
//        globalConfig.setOutputDir(projectPath+"/order/src/main/java");         //自定义代码生成后的存放目录
//        globalConfig.setAuthor("light");                            //设置项目作者
//        globalConfig.setOpen(false);                                     //代码生成后是否打开文件夹
//        globalConfig.setFileOverride(false);                             //是否覆盖
//        globalConfig.setServiceName("%sService");                        //去Service的I前缀
//        globalConfig.setIdType(IdType.AUTO);                        //自定义主键生成策略
//        globalConfig.setDateType(DateType.ONLY_DATE);                    //自定义日期类型
//        globalConfig.setSwagger2(true);                                  //实体使用swagger2注解
//
//        autoGenerator.setGlobalConfig(globalConfig);                     //添加全局配置
//        //2、设置数据源:
//        // https://baomidou.com/config/generator-config.html#%E6%95%B0%E6%8D%AE%E6%BA%90-datasourceconfig-%E9%85%8D%E7%BD%AE
//        DataSourceConfig dsc = new DataSourceConfig();
//        dsc.setUrl("jdbc:mysql://localhost:3306/movie?characterEncoding=utf8&useSSL=false");
//        dsc.setDriverName("com.mysql.jdbc.Driver");
//        dsc.setUsername("root");
//        dsc.setPassword("");
//        dsc.setDbType(DbType.MYSQL);                          //指定数据库类型
//
//        autoGenerator.setDataSource(dsc);                     //添加数据源配置
//        //3、包名配置:
//        // https://baomidou.com/config/generator-config.html#%E5%8C%85%E5%90%8D%E9%85%8D%E7%BD%AE
//        PackageConfig pc = new PackageConfig();
////        pc.setModuleName("movie-service");                     //指定生成的模块名称
//        pc.setParent("com.woniuxy");                        //设置模块中的父目录名
//        pc.setEntity("entity");                               //设置实体类目录名
//        pc.setMapper("mapper");                               //设置mapper目录名
//        pc.setService("service");                             //设置service目录名
//        pc.setController("controller");                       //设置controller目录名
//
//        autoGenerator.setPackageInfo(pc);
//        //4、数据库表配置:
//        // https://baomidou.com/config/generator-config.html#%E6%95%B0%E6%8D%AE%E5%BA%93%E8%A1%A8%E9%85%8D%E7%BD%AE
//        StrategyConfig strategy = new StrategyConfig();
//        // 设置要生成的实体类对应映射的表名
//
//        strategy.setInclude("arrangement");
//        strategy.setTablePrefix("t_");                       //去除表名前缀
//
////        strategy.setInclude("c_pawn_attr_group_cat_rel");
////        strategy.setTablePrefix("c_");                       //去除表名前缀
//
//        //设置表名生成策略，下划线转驼峰
//        strategy.setNaming(NamingStrategy.underline_to_camel);
//        //设置列名生成策略，下划线转驼峰
//        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
//        strategy.setEntityLombokModel(true);                 //自动lombok；
//        strategy.setLogicDeleteFieldName("is_deleted");         //设置使用逻辑删除策略的属性名
//        // 自动填充配置 TableFill
//        TableFill createTime = new TableFill("create_time", FieldFill.INSERT);
//        TableFill updateTime = new TableFill("update_time", FieldFill.INSERT_UPDATE);
//        ArrayList<TableFill> tableFills = new ArrayList<>();
//        tableFills.add(createTime);
//        tableFills.add(updateTime);
//        strategy.setTableFillList(tableFills);
//
////        strategy.setVersionFieldName("version");             // 乐观锁
//        strategy.setRestControllerStyle(true);               //生成 @RestController 控制器
//        strategy.setControllerMappingHyphenStyle(true);      //驼峰转连字符--->localhost:8080/hello_id_2
//
//        autoGenerator.setStrategy(strategy);
//        //执行自动生成
//        autoGenerator.execute();
    }
}